package com.yh.csx.event.store.gateway.project.dataobject;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * @author zhangsheng
 * @date 2021/8/25 19:25
 */
@Entity
@Table(name = "project_config", schema = "csx_b2b_event", catalog = "")
public class ProjectConfigDo {
    private Long id;
    private Long teamId;
    private Long productId;
    private String projectName;
    private String projectBeName;
    private String projectKongName;
    private String projectFeName;
    private String projectDbName;
    private String projectDbUser;
    private String projectFeMan;
    private String projectFeManTel;
    private String projectFeManKey;
    private String projectBeMan;
    private String projectBeManTel;
    private String projectBeManKey;
    private String projectTestMan;
    private String projectTestManTel;
    private String projectTestManKey;
    private Integer delFlag;
    private Integer status;
    private Date createTime;
    private String createBy;
    private Date updateTime;
    private String updateBy;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", nullable = false)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "team_id", nullable = true)
    public Long getTeamId() {
        return teamId;
    }

    public void setTeamId(Long teamId) {
        this.teamId = teamId;
    }

    @Basic
    @Column(name = "product_id", nullable = true)
    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    @Basic
    @Column(name = "project_name", nullable = true, length = 200)
    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    @Basic
    @Column(name = "project_be_name", nullable = true, length = 200)
    public String getProjectBeName() {
        return projectBeName;
    }

    public void setProjectBeName(String projectBeName) {
        this.projectBeName = projectBeName;
    }

    @Basic
    @Column(name = "project_kong_name", nullable = true, length = 200)
    public String getProjectKongName() {
        return projectKongName;
    }

    public void setProjectKongName(String projectKongName) {
        this.projectKongName = projectKongName;
    }

    @Basic
    @Column(name = "project_fe_name", nullable = true, length = 200)
    public String getProjectFeName() {
        return projectFeName;
    }

    public void setProjectFeName(String projectFeName) {
        this.projectFeName = projectFeName;
    }

    @Basic
    @Column(name = "project_db_name", nullable = true, length = 200)
    public String getProjectDbName() {
        return projectDbName;
    }

    public void setProjectDbName(String projectDbName) {
        this.projectDbName = projectDbName;
    }

    @Basic
    @Column(name = "project_db_user", nullable = true, length = 200)
    public String getProjectDbUser() {
        return projectDbUser;
    }

    public void setProjectDbUser(String projectDbUser) {
        this.projectDbUser = projectDbUser;
    }

    @Basic
    @Column(name = "project_fe_man", nullable = true, length = 30)
    public String getProjectFeMan() {
        return projectFeMan;
    }

    public void setProjectFeMan(String projectFeMan) {
        this.projectFeMan = projectFeMan;
    }

    @Basic
    @Column(name = "project_fe_man_tel", nullable = true, length = 30)
    public String getProjectFeManTel() {
        return projectFeManTel;
    }

    public void setProjectFeManTel(String projectFeManTel) {
        this.projectFeManTel = projectFeManTel;
    }

    @Basic
    @Column(name = "project_fe_man_key", nullable = true, length = 100)
    public String getProjectFeManKey() {
        return projectFeManKey;
    }

    public void setProjectFeManKey(String projectFeManKey) {
        this.projectFeManKey = projectFeManKey;
    }

    @Basic
    @Column(name = "project_be_man", nullable = true, length = 30)
    public String getProjectBeMan() {
        return projectBeMan;
    }

    public void setProjectBeMan(String projectBeMan) {
        this.projectBeMan = projectBeMan;
    }

    @Basic
    @Column(name = "project_be_man_tel", nullable = true, length = 30)
    public String getProjectBeManTel() {
        return projectBeManTel;
    }

    public void setProjectBeManTel(String projectBeManTel) {
        this.projectBeManTel = projectBeManTel;
    }

    @Basic
    @Column(name = "project_be_man_key", nullable = true, length = 100)
    public String getProjectBeManKey() {
        return projectBeManKey;
    }

    public void setProjectBeManKey(String projectBeManKey) {
        this.projectBeManKey = projectBeManKey;
    }

    @Basic
    @Column(name = "project_test_man", nullable = true, length = 30)
    public String getProjectTestMan() {
        return projectTestMan;
    }

    public void setProjectTestMan(String projectTestMan) {
        this.projectTestMan = projectTestMan;
    }

    @Basic
    @Column(name = "project_test_man_tel", nullable = true, length = 30)
    public String getProjectTestManTel() {
        return projectTestManTel;
    }

    public void setProjectTestManTel(String projectTestManTel) {
        this.projectTestManTel = projectTestManTel;
    }

    @Basic
    @Column(name = "project_test_man_key", nullable = true, length = 100)
    public String getProjectTestManKey() {
        return projectTestManKey;
    }

    public void setProjectTestManKey(String projectTestManKey) {
        this.projectTestManKey = projectTestManKey;
    }

    @Basic
    @Column(name = "del_flag", nullable = true)
    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    @Basic
    @Column(name = "status", nullable = true)
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    @Basic
    @Column(name = "create_time", nullable = true)
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "create_by", nullable = true, length = 30)
    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    @Basic
    @Column(name = "update_time", nullable = false)
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "update_by", nullable = true, length = 30)
    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ProjectConfigDo that = (ProjectConfigDo) o;
        return id == that.id &&
                Objects.equals(teamId, that.teamId) &&
                Objects.equals(productId, that.productId) &&
                Objects.equals(projectName, that.projectName) &&
                Objects.equals(projectBeName, that.projectBeName) &&
                Objects.equals(projectKongName, that.projectKongName) &&
                Objects.equals(projectFeName, that.projectFeName) &&
                Objects.equals(projectDbName, that.projectDbName) &&
                Objects.equals(projectDbUser, that.projectDbUser) &&
                Objects.equals(projectFeMan, that.projectFeMan) &&
                Objects.equals(projectFeManTel, that.projectFeManTel) &&
                Objects.equals(projectFeManKey, that.projectFeManKey) &&
                Objects.equals(projectBeMan, that.projectBeMan) &&
                Objects.equals(projectBeManTel, that.projectBeManTel) &&
                Objects.equals(projectBeManKey, that.projectBeManKey) &&
                Objects.equals(projectTestMan, that.projectTestMan) &&
                Objects.equals(projectTestManTel, that.projectTestManTel) &&
                Objects.equals(projectTestManKey, that.projectTestManKey) &&
                Objects.equals(delFlag, that.delFlag) &&
                Objects.equals(status, that.status) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(createBy, that.createBy) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(updateBy, that.updateBy);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, teamId, productId, projectName, projectBeName, projectKongName, projectFeName, projectDbName, projectDbUser, projectFeMan, projectFeManTel, projectFeManKey, projectBeMan, projectBeManTel, projectBeManKey, projectTestMan, projectTestManTel, projectTestManKey, delFlag, status, createTime, createBy, updateTime, updateBy);
    }
}
